// wifi_prov_server_simple.h - 简化版配网服务器API
#ifndef WIFI_PROV_SERVER_SIMPLE_H
#define WIFI_PROV_SERVER_SIMPLE_H

#include "system/includes.h"

#ifdef __cplusplus
extern "C" {
#endif

// 配网结果
typedef enum {
    WIFI_PROV_SERVER_RESULT_OK = 0,
    WIFI_PROV_SERVER_RESULT_FAIL,
    WIFI_PROV_SERVER_RESULT_ABORTED
} wifi_prov_server_result_t;

// 凭据回调函数类型
typedef void (*wifi_prov_credentials_callback_t)(const char* ssid, const char* pwd, int save);

// =============== 简化的API接口 ===============

/**
 * @brief 启动配网服务器
 * @return 0: 成功, 非0: 失败
 */
int wifi_prov_server_start(void);

/**
 * @brief 停止配网服务器
 * @return 0: 成功, 非0: 失败
 */
int wifi_prov_server_stop(void);

/**
 * @brief 检查服务器是否正在运行
 * @return 1: 运行中, 0: 已停止
 */
int wifi_prov_server_is_running(void);

/**
 * @brief 设置凭据回调函数
 * @param callback 凭据回调函数
 * @return 0: 成功, 非0: 失败
 */
int wifi_prov_server_set_credentials_callback(wifi_prov_credentials_callback_t callback);

/**
 * @brief 通知配网完成
 * @param result 配网结果
 * @return 0: 成功, 非0: 失败
 */
int wifi_prov_server_notify_finished(wifi_prov_server_result_t result);

/**
 * @brief 获取服务器状态字符串 (用于调试)
 * @return 状态字符串
 */
const char* wifi_prov_server_get_status_string(void);

#ifdef __cplusplus
}
#endif

#endif // WIFI_PROV_SERVER_SIMPLE_H
